#pragma once

namespace LSH
{
namespace Graphics
{

class Texture;
typedef std::map<String, Texture*> textureMap;
typedef std::map<String, Texture*>::iterator textureItr;
typedef std::map<String, Texture*>::const_iterator textureItrC;

class TextureManager
{
public:
    Texture*    loadTextureFormFile(String& fileName);
    void        freeTexture(Texture* pTexture);
protected:
    void        _destory();
protected:
    textureMap _textures;

    DESCLARE_SINGLETON(TextureManager)
};

}
} // LSH
